#ifndef __C_INIT_STARTUP_H__
#define __C_INIT_STARTUP_H__

#include "./../std/list.h"

#ifdef __cplusplus
extern "C" {
#endif

// keep the following structure unchanged
// since .asm will use the same layout
typedef struct sys_config
{
	unsigned int total_memory;
	unsigned int kernel_size;

	// this indicates the size of the page file
	// the unit of this parameter is 4K
	unsigned int swap_size_limit;
}
sys_config_t;

// this carry the data from real mode loader
extern sys_config_t sys_config_data;

// this address is the end of kernel
// pre-occupied area
extern void* end_of_krnl_preoccupied_area;

#ifdef __cplusplus
}
#endif
#endif
/* EOF */
